home *** CD-ROM | disk | FTP | other *** search
- " Vim syntax file
- " Language: Sather/pSather
- " Maintainer: Claudio Fleiner <claudio@fleiner.com>
- " URL: http://www.fleiner.com/vim/syntax/sather.vim
- " Last Change: 2001 Apr 25
-
- " Sather is a OO-language developped at the International Computer Science
- " Institute (ICSI) in Berkeley, CA. pSather is a parallel extension to Sather.
- " Homepage: http://www.icsi.berkeley.edu/~sather
- " Sather files use .sa as suffix
-
- " For version 5.x: Clear all syntax items
- " For version 6.x: Quit when a syntax file was already loaded
- if version < 600
- syntax clear
- elseif exists("b:current_syntax")
- finish
- endif
-
- " keyword definitions
- syn keyword satherExternal extern
- syn keyword satherBranch break continue
- syn keyword satherLabel when then
- syn keyword satherConditional if else elsif end case typecase assert with
- syn match satherConditional "near$"
- syn match satherConditional "far$"
- syn match satherConditional "near *[^(]"he=e-1
- syn match satherConditional "far *[^(]"he=e-1
- syn keyword satherSynchronize lock guard sync
- syn keyword satherRepeat loop parloop do
- syn match satherRepeat "while!"
- syn match satherRepeat "break!"
- syn match satherRepeat "until!"
- syn keyword satherBoolValue true false
- syn keyword satherValue self here cluster
- syn keyword satherOperator new "== != & ^ | && ||
- syn keyword satherOperator and or not
- syn match satherOperator "[#!]"
- syn match satherOperator ":-"
- syn keyword satherType void attr where
- syn match satherType "near *("he=e-1
- syn match satherType "far *("he=e-1
- syn keyword satherStatement return
- syn keyword satherStorageClass static const
- syn keyword satherExceptions try raise catch
- syn keyword satherMethodDecl is pre post
- syn keyword satherClassDecl abstract value class include
- syn keyword satherScopeDecl public private readonly
-
-
- syn match satherSpecial contained "\\\d\d\d\|\\."
- syn region satherString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=satherSpecial
- syn match satherCharacter "'[^\\]'"
- syn match satherSpecialCharacter "'\\.'"
- syn match satherNumber "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>"
- syn match satherCommentSkip contained "^\s*\*\($\|\s\+\)"
- syn region satherComment2String contained start=+"+ skip=+\\\\\|\\"+ end=+$\|"+ contains=satherSpecial
- syn match satherComment "--.*" contains=satherComment2String,satherCharacter,satherNumber
-
-
- syn sync ccomment satherComment
-
- " Define the default highlighting.
- " For version 5.7 and earlier: only when not done already
- " For version 5.8 and later: only when an item doesn't have highlighting yet
- if version >= 508 || !exists("did_sather_syn_inits")
- if version < 508
- let did_sather_syn_inits = 1
- command -nargs=+ HiLink hi link <args>
- else
- command -nargs=+ HiLink hi def link <args>
- endif
-
- HiLink satherBranch satherStatement
- HiLink satherLabel satherStatement
- HiLink satherConditional satherStatement
- HiLink satherSynchronize satherStatement
- HiLink satherRepeat satherStatement
- HiLink satherExceptions satherStatement
- HiLink satherStorageClass satherDeclarative
- HiLink satherMethodDecl satherDeclarative
- HiLink satherClassDecl satherDeclarative
- HiLink satherScopeDecl satherDeclarative
- HiLink satherBoolValue satherValue
- HiLink satherSpecial satherValue
- HiLink satherString satherValue
- HiLink satherCharacter satherValue
- HiLink satherSpecialCharacter satherValue
- HiLink satherNumber satherValue
- HiLink satherStatement Statement
- HiLink satherOperator Statement
- HiLink satherComment Comment
- HiLink satherType Type
- HiLink satherValue String
- HiLink satherString String
- HiLink satherSpecial String
- HiLink satherCharacter String
- HiLink satherDeclarative Type
- HiLink satherExternal PreCondit
- delcommand HiLink
- endif
-
- let b:current_syntax = "sather"
-
- " vim: ts=8
-